SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 58675: A "deadlock detected" error occurs in SAS® Workflow Services when you attempt to transition a business object from one workflow state to another

DetailsHotfixAboutRate It

In a SAS® solution such as SAS® Model Risk Management or SAS® Enterprise GRC, you might not be able to transition a business object from one workflow state to another. When you edit a business object and click a button to move the object to the next workflow activity, the workflow state might not change. For example, you might see the problem in SAS Model Risk Management when you edit a model review and click Submit to submit the object for review.

This issue might be caused by a deadlock when SAS Workflow Services attempts to remove a timer. When this type of deadlock occurs, the SASWorkflowServices9.4 log file contains the following error:

ERROR [sastrust] com.sas.workflow.engine.services.timer.scheduling.quartz.RequestHandler - Error removing timer.
org.quartz.JobPersistenceException: Couldn't remove trigger: ORA-00060: deadlock detected while waiting for resource
  [See nested exception: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource]
      at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger

You might also see the following error in the SAS Model Risk Management or SAS Enterprise GRC log file:

java.lang.RuntimeException: com.sas.workflow.framework.client.WorkflowServiceException: Internal Error

Click the Hot Fix tab in this note to access the hot fix for this issue.

After installing the hot fix, perform the following steps:

  1. Edit the SAS-configuration-directory/Levn/Web/WebAppServer/SASServer1_1/sas_webapps/sas.workflow.war/WEB-INF/quartz-properties.xml file, and make the following change:

Find the following line:

<entry key="org.quartz.jobStore.selectWithLockSQL">SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ?</entry>

Change it to the following to comment it out:

<!--
    <entry key="org.quartz.jobStore.selectWithLockSQL">SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ?</entry>
-->
  1. Restart SASServer1_1.


Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Web Infrastructure PlatformSolaris for x649.4_M39.4_M49.4 TS1M39.4 TS1M4
Linux for x649.4_M39.4_M49.4 TS1M39.4 TS1M4
HP-UX IPF9.4_M39.4_M49.4 TS1M39.4 TS1M4
64-bit Enabled Solaris9.4_M39.4_M49.4 TS1M39.4 TS1M4
64-bit Enabled AIX9.4_M39.4_M49.4 TS1M39.4 TS1M4
Microsoft® Windows® for x649.4_M39.4_M49.4 TS1M39.4 TS1M4
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.